<html>
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Abrir Análise Combinacional</title>
</head>
<body bgcolor="FFFFFF">

<h1>Abrir Análise Combinacional</h1>

<p> A maior parte do módulo Análise Combinacional é acessível através de
uma janela de mesmo nome, que lhe permitirá ver tabelas-verdade e
expressões lógicas (booleanas). Essa janela poderá ser aberta de duas maneiras. 
</p>

<h2> Através do menu Janela </h2>

<p> Ao selecionar Análise Combinacional, a atual será exibida na janela.
Se você não tiver usado a janela antes, ela estará vazia e não estará 
analisando qualquer circuito.
</p>

<p> Apenas uma janela Análise Combinacional existirá dentro do Logisim,
não importa quantos projetos estiverem abertos. Não há como permitir que 
se tenham duas análises diferentes abertas ao mesmo tempo.
</p>

<h2> Através do menu Projeto </h2>

<p> A partir de uma janela para edição de circuitos, você também poderá solicitar
que o Logisim analise o circuito corrente, se selecionar a opção Analisar Circuito
no menu Projeto. Antes de abrir a janela, o Logisim irá calcular as expressões 
lógicas (booleanas) e montará uma tabela-verdade correspondente ao circuito.
</p>

<p> Para que a análise seja bem sucedida, cada entrada ou saída deverá ser conectada 
a cada um de seus respectivos pinos de entrada ou saída.
O Logisim só analisará circuitos com no máximo oito de cada tipo, e todos deverão
ser pinos com largura de um bit apenas. Caso contrário, você irá ver uma mensagem 
de erro e a janela não será aberta.
</p>

<p> Ao construir as expressões lógicas (booleanas) correspondentes a um circuito,
o Logisim irá tentar, primeiro, construir expressões que correspondam exatamente às
portas do circuito. Mas, se o circuito utilizar componentes que não sejam portas
(como um multiplexador), ou se o circuito tiver mais de 100 níveis de profundidade
(pouco provável), então aparecerá uma caixa de diálogo informando que foi impossível
montar a expressão; e alternativamente, o Logisim tentará derivar as expressões
baseando-se na tabela-verdade, que será determinada para cada combinação de 
entradas e pelas leituras das saídas resultantes.
</p>

<p> Depois de analisar um circuito, não haverá uma relação de continuidade entre 
o circuito e a janela de Análise Combinacional. Ou seja, mudanças no circuito não
serão refletidas na janela, nem mudanças nas expressões lógicas (booleanas) e/ou
na tabela-verdade serão refletidas no circuito. Você sempre terá liberdade para 
analisar o circuito novamente e, como veremos mais adiante, ou poderá substituir
aquele que estiver na janela da Análise Combinacional.
</p>

<h2>Limitações</h2>

<p> O Logisim não tentará detectar circuitos sequenciais: se você disser para
analisar um circuito sequencial, ele tentará criar uma tabela-verdade
e as correspondentes expressões lógicas (booleanas), ainda que essas
possam não indicar precisamente o comportamento do circuito. (Na verdade, 
detectar circuitos sequenciais é <em>comprovadamente impossível</em>, de mesma 
monta como seria resolver o Problema da Parada. Claro, você poderia esperar que
o Logisim fizesse, pelo menos, algumas tentativas - talvez procurar
flip-flops ou ciclos nas conexões, mas ele não fará). Como resultado,
o sistema de Análise Combinacional não deverá ser usado indiscriminadamente:
use-o somente quando você tiver certeza de que o circuito que quiser analisar 
for realmente combinacional!
</p>

<p> O Logisim fará uma mudança no circuito original, que é talvez seja
inesperada: o sistema de Análise Combinacional exige que cada
entrada e saída possua um nome exclusivo em conformidade com as regras de
identificadores Java. (De forma resumida, cada identificador deverá ter letras
ou algarismos, e começar por letra. Espaços em branco não serão permitidos!)
Ele tentará usar os rótulos dos pinos existentes, antes de usar uma lista de
nomes padronizados, caso não haja rótulo. Se as regras não forem seguidas,
o Logisim tentará extrair um válido a partir dos nomes nos rótulos, se possível.
</p>

<p> Aliás, a ordem das entradas na tabela-verdade combinará com seus pares
em ordem decrescente no circuito original, seguindo da esquerda para a direita. 
(O mesmo vale para ordenar as saídas.) </p>

<p><strong>Próximo:</strong> <a href="table.html">Editar a tabela-verdade</a>.</p>

</body>
</html>
